package com.itheima.interface3; // 包声明，指定当前类所在的位置，com.itheima.interface3是包路径

public class ClassDataInterImpl1 implements ClassDataInter{ // 定义一个公开的类ClassDataInterImpl1，实现ClassDataInter接口
    private Student[] students; // 成员变量：定义一个私有的Student类型数组，用于存储全班学生对象信息
    
    public ClassDataInterImpl1(Student[] students) { // 构造函数：用于创建ClassDataInterImpl1对象时初始化students数组
        this.students = students; // 使用this关键字区分成员变量和局部变量，将传入的students数组赋值给成员变量
    }
    
    @Override // 重写注解：表示下面的方法是重写接口中的抽象方法
    public void printAllStudentInfos() { // 实现接口中的printAllStudentInfos方法，用于打印所有学生信息
        System.out.println("全班学生信息如下："); // 打印提示信息
        for (int i = 0; i < students.length; i++) { // for循环遍历students数组中的每个学生对象
            Student s = students[i]; // 从数组中取出当前索引位置的学生对象
            System.out.println(s.getName() + " " + s.getSex() + " " + s.getScore()); // 打印学生的姓名、性别和分数
        }
    }

    @Override // 重写注解：表示下面的方法是重写接口中的抽象方法
    public void printAverageScore() { // 实现接口中的printAverageScore方法，用于计算并打印平均成绩
        double sum = 0; // 定义一个double类型变量sum，用于累计所有学生的分数，初始值为0
        for (int i = 0; i < students.length; i++) { // for循环遍历students数组中的每个学生对象
            Student s = students[i]; // 从数组中取出当前索引位置的学生对象
            sum += s.getScore(); // 将学生的分数累加到sum变量中
        }
        System.out.println("全班平均成绩为：" + sum / students.length); // 计算平均成绩（总分除以学生人数）并打印
    }
} // 类定义结束
